iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0
Software Development

Laravel專案練習-寶可夢管理系統系列 第 7

Day7:寶可夢專案-部署練習-選擇專案伺服器

  • 分享至 

  • xImage
  •  

根據實際情況去選擇適合的部署用的伺服器是很重要的,以下是部署在不同環境的一些比較:
在比較之前想先分享垂直擴展和水平擴展的一些小觀念:

  • 水平擴展 (Horizontal Scaling)

    水平擴展是指透過增加更多的機器(伺服器)來分擔系統負載,達到擴展的目的。

    優點

    • 對於單一主機故障比較不會導致整個系統崩潰,因為有多台主機可以幫忙分擔。
    • 可以無限制地進行擴展,只要有足夠的資源。

    缺點

    • 需要更複雜的網絡和資源管理。
    • 應用程式可能需要進行特定的設計和配置,以確保能夠正常運作於分散式環境。
  • 垂直擴展 (Vertical Scaling)

    垂直擴展則是透過增加單一機器的資源(如 CPU、RAM 或儲存空間)來提高系統性能。這通常涉及到升級硬體規格或者加強單一伺服器的運算能力。

    優點

    • 較為簡單,不需要改變應用程式架構或配置。
    • 有助於提升單一系統的性能。

    缺點

    • 會遇到硬體的物理限制,如某一點後,可能再也無法增加更多的 RAM 或 CPU。
    • 成本上升迅速,因為高規格的硬體通常會帶來更高的價格。
    • 垂直擴展會有可用性的風險,因為所有的資源都集中在一台機器上,一旦這台機器出現問題,會影響到整個系統。

1. 專用伺服器 (Dedicated Server)部署

部署到一台物理主機上。

優點

  • 資源獨占,無需與其他用戶共享。
  • 硬體資源由自己管控,當流量不大,手邊又有設備的時候可以考慮。

缺點

  • 水平擴充較為昂貴及困難:涉及將工作負載分散到多台伺服器上。專用伺服器的水平擴充較為困難和昂貴,因為這通常需要購買和設置更多的硬體、配置負載均衡等。
  • 垂直擴充有一定限制及昂貴:涉及增加單一伺服器的資源,例如增加RAM、CPU或存儲, 一直提升硬體設備除了昂貴也一定有他的限制。

2. 虛擬專用伺服器 (VPS)部署

VPS(虛擬專用伺服器)就是在一台物理主機(稱為宿主機)上使用虛擬化技術來運行多個虛擬主機。 然後我們部署到其中一台虛擬主機。

優點

  • 通常比專用伺服器更加經濟,因為可以有多個虛擬主機共享資源。

  • 簡單部署:

    部署相對於專用主機較為簡單快速,比如你今天想部署一個專案,你就開一個虛擬主機,把專案丟進去就好了,比起還要去找一台主機或是雲端建立主機,還要遠程操控,相對容易多。

缺點

  • 資源仍然與其他虛擬機共享,可能受到所謂的「壞鄰居效應」的影響。也就是可能會被其他人吃掉記憶體及CPU。當某個虛擬主機工作量很大的時候可能會對其他虛擬著幾造成影響。
  • 和專用主機一樣是水平擴展較為昂貴及困難, 而垂直擴充也是有一定的上限。

3. 雲端服務商 (Cloud Service Providers)部署

在雲端服務提供商所提供的平台,建立虛擬主機,在把專案部署到上面。

優點

  • 透過雲端的技術, 可以很彈性的使用各種配置(比如記憶體、硬碟空間、cpu)
  • 可以很容易地擴展或縮小資源,比起專用主機,不用自己還要去安裝這些硬體設施
  • 高可用性和故障轉移能力,發生故障通常都有一定的技術快速解決

缺點

  • 長期運行可能要看實際上是否成本較高,畢竟專用主機可能一開始的硬體設備買一買就可以用很久, 但雲端服務是需要持續付費。
  • 可能較為複雜,需要對特定的雲平台有一定的了解。

種類

1. Amazon Web Services (AWS)

優點

  • 全面的服務範疇:提供了從計算、存儲到機器學習的全套服務。
  • 全球性的資料中心:廣泛的地理位置選擇,可以靠近終端用戶提供服務。
  • 成熟的安全性: 提供多層的安全控制。

缺點

  • 價格:某些服務的價格可能比其他提供商高。
  • 複雜性:由於提供的服務範疇廣泛,有時可能需要深入學習才能完全利用其功能。

2. Microsoft Azure

  • 優點
    • 集成性:Azure很好地集成了Microsoft的其他產品和服務,例如Office 365和Windows Server。
    • 開發者友好:Azure提供了豐富的開發和管理工具,方便開發者使用。
  • 缺點
    • 價格模型:與其他雲服務商相比,Azure的價格模型可能會較為複雜。
    • 學習曲線:由於Azure的服務範疇廣泛,新用戶可能需要花更多的時間來學習如何使用。

3. Google Cloud Platform (GCP)

  • 優點
    • 數據分析和機器學習:GCP在這方面非常強大,特別是BigQuery。
    • 價格:通常比AWS和Azure便宜。

結語:

畢竟我是在做專案的練習,所以我選擇用雲端服務商的方式部署,想練習用SSH的設置及操作,還有去雲端服務商的一些服務,這裡我選擇的是用AWS,主要是因為他的市占率高,感覺以後工作可能也有機率碰到(目前覺得拉),所以當作練習的對象。


上一篇
Day6:寶可夢專案-部署練習-基本流程
下一篇
Day8 寶可夢專案-部署練習-SSH遠程調用
系列文
Laravel專案練習-寶可夢管理系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言